package com.fulihui.information.core.db;

import com.fulihui.information.dto.ContentListItemDTO;

import java.util.Collection;
import java.util.List;

/**
 * 内容列表Redis数据库
 *
 * @author Willard.Hu on 2016/12/27 0027.
 */
public interface ContentListItemDB {

    /**
     * 添加基础资讯列表内容数据
     *
     * @param item {@link ContentListItemDTO}
     * @return 操作成功的行
     */
    long save(ContentListItemDTO item);

    /**
     * 批量添加基础资讯列表内容数据
     *
     * @param items {@link ContentListItemDTO}
     * @return 操作成功的行
     */
    long batchSave(Collection<ContentListItemDTO> items);

    /**
     * 判断基础资讯列表内容数据是否存在
     *
     * @param id 资讯内容主键
     * @return true / false
     */
    boolean exists(String id);

    /**
     * 批量删除
     *
     * @param ids 主键集合
     * @return 操作成功的行
     */
    long batchDelete(String... ids);

    /**
     * 通过主键列表获取资讯列表内容列表
     *
     * @param ids 资讯内容主键列表
     * @return {@link ContentListItemDTO} 列表
     */
    List<ContentListItemDTO> queryList(Collection<String> ids);
}
